﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace FrbaCommerce.Abm_Empresa
{
    public partial class ListadoEmpresas : Form
    {

        private int usuarioEnSistema;

        public ListadoEmpresas(int usuarioLogueado)
        {
            
            InitializeComponent();
            buttonEliminar.Visible = false;
            buttonModificar.Visible = false;
            this.usuarioEnSistema = usuarioLogueado;
        }

        private void buttonLimpiar_Click(object sender, EventArgs e)
        {
            Codigo_reutilizable.Limpiar.LimpiarText(this);
            Codigo_reutilizable.Limpiar.LimpiarMaskedTextBox(this);
            Codigo_reutilizable.Limpiar.BlanquearControles(this);
            dataGridView1.Columns.Clear();
        }

        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            dataGridView1.Columns.Clear();
            Gets_and_Sets.LEmpresa_getset LEmpresa = new Gets_and_Sets.LEmpresa_getset();

            //validacion del CUIT
            string cuit = TextBoxNroDoc.Text;
            char[] valoresValidosCUIT = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-' };
            string caracteresNoValidos = cuit.TrimStart(valoresValidosCUIT);
            if (caracteresNoValidos == "")
            {

                LEmpresa.RazonSocial = textBoxRazonSocial.Text;
                LEmpresa.CUIT = TextBoxNroDoc.Text;
                LEmpresa.Mail = textBoxMail.Text;

                AccessData.adEmpresa.buscarListaEmpresas(LEmpresa, dataGridView1);

                buttonModificar.Visible = true;
                buttonEliminar.Visible = true;
            }
            else
            {
                MessageBox.Show("El CUIT contiene caracteres no válidos, ejemplo CUIT: 99-99999999-99", "Error campo CUIT", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }




        private void buttonModificar_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {

                //no hay registros seleccionados
                MessageBox.Show("Se debe seleccionar una fila para modificar", "Error Modificación", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Int32 idSelect = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
                Abm_Empresa.ModificacionEmpresa mod = new Abm_Empresa.ModificacionEmpresa(idSelect, usuarioEnSistema);
                this.Hide();
                mod.Show();
            }
        }

        private void buttonEliminar_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {

                //no hay registros seleccionados
                MessageBox.Show("Se debe seleccionar una fila para eliminar", "Error Eliminacion", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Int32 idSelect = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);

                const string message = "¿ELIMINAR la Empresa seleccionada?";
                const string caption = "BAJA EMPRESA";
                var result = MessageBox.Show(message, caption,
                                             MessageBoxButtons.YesNo,
                                             MessageBoxIcon.Question);

                //  si el botón que preciona es...
                if (result == DialogResult.Yes)
                {
                    // Elimina logicamente la empresa seleccionada (la deshabilita).
                    AccessData.adUsuario.ActualizarUsuarioEliminado(idSelect);
                }
                else
                    this.Close();
            }
        }



    }
}
